// package main

// import (
//     "fmt"
//     "time"

//     "github.com/eProsima/Fast-DDS-go"
// )

// func main() {
//     // 创建域参与者
//     domainParticipantFactory := fastdds.DomainParticipantFactory_GetInstance()
//     participant := domainParticipantFactory.CreateParticipant(0, nil)
//     if participant == nil {
//         fmt.Println("Failed to create participant")
//         return
//     }
//     defer domainParticipantFactory.DeleteParticipant(participant)

//     // 创建主题
//     topicData := fastdds.TopicData{
//         Name: "HelloWorldTopic",
//         Type: "HelloWorld",
//         Qos:  &fastdds.TopicQos{},
//     }
//     topic := participant.CreateTopic(topicData)
//     if topic == nil {
//         fmt.Println("Failed to create topic")
//         return
//     }
//     defer participant.DeleteTopic(topic)

//     // 创建发布者
//     publisher := participant.CreatePublisher(&fastdds.PublisherQos{})
//     if publisher == nil {
//         fmt.Println("Failed to create publisher")
//         return
//     }
//     defer participant.DeletePublisher(publisher)

//     // 创建数据写入者
//     writer := publisher.CreateDataWriter(topic, &fastdds.DataWriterQos{})
//     if writer == nil {
//         fmt.Println("Failed to create data writer")
//         return
//     }
//     defer publisher.DeleteDataWriter(writer)

//     // 发布消息
//     for i := 0; i < 10; i++ {
//         sample := &HelloWorld{Message: fmt.Sprintf("Hello, World! %d", i)}
//         if err := writer.Write(sample); err != nil {
//             fmt.Printf("Failed to write sample: %v\n", err)
//         } else {
//             fmt.Printf("Wrote sample: %s\n", sample.Message)
//         }
//         time.Sleep(1 * time.Second)
//     }
// }

// // HelloWorld 结构体定义
// type HelloWorld struct {
//     Message string
// }